<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt; Class Template Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="namespaceshark_1_1benchmarks.html">benchmarks</a></li><li class="navelem"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">MultiObjectiveBenchmark</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1benchmarks_1_1_multi_objective_benchmark-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle"><div class="title">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__objfunctions.html">Objective functions</a> &raquo; <a class="el" href="group__benchmarks.html">Benchmark functions</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>Creates a multi-objective Benchmark from a set of given single objective functions.  
 <a href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_multi_objective_benchmark_8h_source.html">shark/ObjectiveFunctions/Benchmarks/MultiObjectiveBenchmark.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1benchmarks_1_1_multi_objective_benchmark__inherit__graph.png" border="0" usemap="#ashark_1_1benchmarks_1_1_multi_objective_benchmark_3_01_objectives_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1benchmarks_1_1_multi_objective_benchmark_3_01_objectives_01_4_inherit__map" id="ashark_1_1benchmarks_1_1_multi_objective_benchmark_3_01_objectives_01_4_inherit__map">
<area shape="rect" title="Creates a multi&#45;objective Benchmark from a set of given single objective functions." alt="" coords="5,79,176,135"/>
<area shape="rect" href="classshark_1_1_abstract_objective_function.html" title="Super class of all objective functions for optimization and learning." alt="" coords="13,5,168,31"/>
<area shape="poly" title=" " alt="" coords="93,47,93,78,88,78,88,47"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a39645b08e34005008946482748022d64" id="r_a39645b08e34005008946482748022d64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a39645b08e34005008946482748022d64">MultiObjectiveBenchmark</a> (std::size_t numVariables=5)</td></tr>
<tr class="separator:a39645b08e34005008946482748022d64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afefbd87f70a57cab4df4868102a71e74" id="r_afefbd87f70a57cab4df4868102a71e74"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#afefbd87f70a57cab4df4868102a71e74">name</a> () const</td></tr>
<tr class="memdesc:afefbd87f70a57cab4df4868102a71e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of the Benchmark.  <br /></td></tr>
<tr class="separator:afefbd87f70a57cab4df4868102a71e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6189640d3576bf04b9dea6e734ae3f6b" id="r_a6189640d3576bf04b9dea6e734ae3f6b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a6189640d3576bf04b9dea6e734ae3f6b">hasScalableDimensionality</a> () const</td></tr>
<tr class="separator:a6189640d3576bf04b9dea6e734ae3f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77e1305d6328c831bf14df61c37cb648" id="r_a77e1305d6328c831bf14df61c37cb648"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a77e1305d6328c831bf14df61c37cb648">setNumberOfVariables</a> (std::size_t <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">numberOfVariables</a>)</td></tr>
<tr class="memdesc:a77e1305d6328c831bf14df61c37cb648"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts the number of variables if the function is scalable.  <br /></td></tr>
<tr class="separator:a77e1305d6328c831bf14df61c37cb648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a4d8531d457d155aea8258cd2747e51" id="r_a6a4d8531d457d155aea8258cd2747e51"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a6a4d8531d457d155aea8258cd2747e51">numberOfObjectives</a> () const</td></tr>
<tr class="separator:a6a4d8531d457d155aea8258cd2747e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac98eb92c0a0697790806a9c5acc359" id="r_a4ac98eb92c0a0697790806a9c5acc359"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">numberOfVariables</a> () const</td></tr>
<tr class="memdesc:a4ac98eb92c0a0697790806a9c5acc359"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accesses the number of variables.  <br /></td></tr>
<tr class="separator:a4ac98eb92c0a0697790806a9c5acc359"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12b46f3164e3445aff1cd12b62b2c2cf" id="r_a12b46f3164e3445aff1cd12b62b2c2cf"><td class="memTemplParams" colspan="2">template&lt;int N&gt; </td></tr>
<tr class="memitem:a12b46f3164e3445aff1cd12b62b2c2cf"><td class="memTemplItemLeft" align="right" valign="top">std::tuple_element&lt; N, std::tuple&lt; Objectives... &gt; &gt;::type &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a12b46f3164e3445aff1cd12b62b2c2cf">get</a> ()</td></tr>
<tr class="separator:a12b46f3164e3445aff1cd12b62b2c2cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963fa52455728653a94fa582c9431ef8" id="r_a963fa52455728653a94fa582c9431ef8"><td class="memTemplParams" colspan="2">template&lt;int N&gt; </td></tr>
<tr class="memitem:a963fa52455728653a94fa582c9431ef8"><td class="memTemplItemLeft" align="right" valign="top">std::tuple_element&lt; N, std::tuple&lt; Objectives... &gt; &gt;::type const &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a963fa52455728653a94fa582c9431ef8">get</a> () const</td></tr>
<tr class="separator:a963fa52455728653a94fa582c9431ef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a542adb82f194ccc98c4f63b27fe2b5d1" id="r_a542adb82f194ccc98c4f63b27fe2b5d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a542adb82f194ccc98c4f63b27fe2b5d1">init</a> ()</td></tr>
<tr class="memdesc:a542adb82f194ccc98c4f63b27fe2b5d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">\ Initializes the functions as well as picks random rotations and translations  <br /></td></tr>
<tr class="separator:a542adb82f194ccc98c4f63b27fe2b5d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85f5750d889d29fd9cffaa3406a8a166" id="r_a85f5750d889d29fd9cffaa3406a8a166"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a85f5750d889d29fd9cffaa3406a8a166">proposeStartingPoint</a> () const</td></tr>
<tr class="memdesc:a85f5750d889d29fd9cffaa3406a8a166"><td class="mdescLeft">&#160;</td><td class="mdescRight">Proposes a starting point in the feasible search space of the function.  <br /></td></tr>
<tr class="separator:a85f5750d889d29fd9cffaa3406a8a166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf89308463d5531a8e131c106abed7fe" id="r_abf89308463d5531a8e131c106abed7fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#abf89308463d5531a8e131c106abed7fe">eval</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;x) const</td></tr>
<tr class="memdesc:abf89308463d5531a8e131c106abed7fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the vector (f_1(x),...,f_N(x)) of the N objectives in the benchmark for the current point.  <br /></td></tr>
<tr class="separator:abf89308463d5531a8e131c106abed7fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99fc595131c5c87ae6d73377c1b4368a" id="r_a99fc595131c5c87ae6d73377c1b4368a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a99fc595131c5c87ae6d73377c1b4368a">evalDerivative</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;x, <a class="el" href="classshark_1_1_abstract_objective_function.html#a29804371954a360f09696adea7cfd839">FirstOrderDerivative</a> &amp;derivative) const</td></tr>
<tr class="memdesc:a99fc595131c5c87ae6d73377c1b4368a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates function value as well as the the Jacobian( d/dxf_1(x),...,d/dx f_N(x)) of the N objectives in the benchmark for the current point.  <br /></td></tr>
<tr class="separator:a99fc595131c5c87ae6d73377c1b4368a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_abstract_objective_function"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_abstract_objective_function')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a></td></tr>
<tr class="memitem:a755673593a64a978a91ac3398c390d4b inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a755673593a64a978a91ac3398c390d4b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a755673593a64a978a91ac3398c390d4b">features</a> () const</td></tr>
<tr class="separator:a755673593a64a978a91ac3398c390d4b inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f92098ce1e74c805f359b56893e78ed inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a7f92098ce1e74c805f359b56893e78ed"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a7f92098ce1e74c805f359b56893e78ed">updateFeatures</a> ()</td></tr>
<tr class="separator:a7f92098ce1e74c805f359b56893e78ed inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d4be77b4100781bbd7ca50bcf68c94f inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a7d4be77b4100781bbd7ca50bcf68c94f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a7d4be77b4100781bbd7ca50bcf68c94f">hasValue</a> () const</td></tr>
<tr class="memdesc:a7d4be77b4100781bbd7ca50bcf68c94f inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can calculate it's function value  <br /></td></tr>
<tr class="separator:a7d4be77b4100781bbd7ca50bcf68c94f inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3465e02d80e79445df299cf8531fcc inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_aec3465e02d80e79445df299cf8531fcc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aec3465e02d80e79445df299cf8531fcc">hasFirstDerivative</a> () const</td></tr>
<tr class="memdesc:aec3465e02d80e79445df299cf8531fcc inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can calculate the first derivative  <br /></td></tr>
<tr class="separator:aec3465e02d80e79445df299cf8531fcc inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5d2c0fa504de1e3b5a66363c826f08 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a9f5d2c0fa504de1e3b5a66363c826f08"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a9f5d2c0fa504de1e3b5a66363c826f08">hasSecondDerivative</a> () const</td></tr>
<tr class="memdesc:a9f5d2c0fa504de1e3b5a66363c826f08 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can calculate the second derivative  <br /></td></tr>
<tr class="separator:a9f5d2c0fa504de1e3b5a66363c826f08 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa190c3699e653df3f054b0b3d753270e inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_aa190c3699e653df3f054b0b3d753270e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aa190c3699e653df3f054b0b3d753270e">canProposeStartingPoint</a> () const</td></tr>
<tr class="memdesc:aa190c3699e653df3f054b0b3d753270e inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can propose a starting point.  <br /></td></tr>
<tr class="separator:aa190c3699e653df3f054b0b3d753270e inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a03eac74b7cac35c5d510ab12599393 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a2a03eac74b7cac35c5d510ab12599393"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a2a03eac74b7cac35c5d510ab12599393">isConstrained</a> () const</td></tr>
<tr class="memdesc:a2a03eac74b7cac35c5d510ab12599393 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can return  <br /></td></tr>
<tr class="separator:a2a03eac74b7cac35c5d510ab12599393 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d14fcc84cd963a1f6d9d7c8477bd3ee inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a8d14fcc84cd963a1f6d9d7c8477bd3ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a8d14fcc84cd963a1f6d9d7c8477bd3ee">hasConstraintHandler</a> () const</td></tr>
<tr class="memdesc:a8d14fcc84cd963a1f6d9d7c8477bd3ee inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can return  <br /></td></tr>
<tr class="separator:a8d14fcc84cd963a1f6d9d7c8477bd3ee inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a499c48a9afe9e77e866af66c0cb4f396 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a499c48a9afe9e77e866af66c0cb4f396"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a499c48a9afe9e77e866af66c0cb4f396">canProvideClosestFeasible</a> () const</td></tr>
<tr class="memdesc:a499c48a9afe9e77e866af66c0cb4f396 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this function can calculate thee closest feasible to an infeasible point.  <br /></td></tr>
<tr class="separator:a499c48a9afe9e77e866af66c0cb4f396 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b418f50d0e284fe10c92a1c719d5615 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a3b418f50d0e284fe10c92a1c719d5615"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a3b418f50d0e284fe10c92a1c719d5615">isThreadSafe</a> () const</td></tr>
<tr class="memdesc:a3b418f50d0e284fe10c92a1c719d5615 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true, when the function can be usd in parallel threads.  <br /></td></tr>
<tr class="separator:a3b418f50d0e284fe10c92a1c719d5615 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80a63b56c111cd7c65e5b264c9d84bac inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a80a63b56c111cd7c65e5b264c9d84bac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a80a63b56c111cd7c65e5b264c9d84bac">isNoisy</a> () const</td></tr>
<tr class="memdesc:a80a63b56c111cd7c65e5b264c9d84bac inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true, when the function can be usd in parallel threads.  <br /></td></tr>
<tr class="separator:a80a63b56c111cd7c65e5b264c9d84bac inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f32ae97885db58f9602191d64284f98 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a0f32ae97885db58f9602191d64284f98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a0f32ae97885db58f9602191d64284f98">AbstractObjectiveFunction</a> ()</td></tr>
<tr class="memdesc:a0f32ae97885db58f9602191d64284f98 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default ctor.  <br /></td></tr>
<tr class="separator:a0f32ae97885db58f9602191d64284f98 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11cbdfb46ff9d34231248d8b847bd0ea inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a11cbdfb46ff9d34231248d8b847bd0ea"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a11cbdfb46ff9d34231248d8b847bd0ea">~AbstractObjectiveFunction</a> ()</td></tr>
<tr class="memdesc:a11cbdfb46ff9d34231248d8b847bd0ea inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor.  <br /></td></tr>
<tr class="separator:a11cbdfb46ff9d34231248d8b847bd0ea inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a287178b5b0b97c71bbffc80086ff00 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a3a287178b5b0b97c71bbffc80086ff00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a3a287178b5b0b97c71bbffc80086ff00">setRng</a> (random::rng_type *rng)</td></tr>
<tr class="memdesc:a3a287178b5b0b97c71bbffc80086ff00 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Rng used by the objective function.  <br /></td></tr>
<tr class="separator:a3a287178b5b0b97c71bbffc80086ff00 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae58a543d7cccc6c66e3a7d8ce762fc01 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_ae58a543d7cccc6c66e3a7d8ce762fc01"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#ae58a543d7cccc6c66e3a7d8ce762fc01">hasScalableObjectives</a> () const</td></tr>
<tr class="separator:ae58a543d7cccc6c66e3a7d8ce762fc01 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb3e45b19bba4130989d7ae37200900 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_afcb3e45b19bba4130989d7ae37200900"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#afcb3e45b19bba4130989d7ae37200900">setNumberOfObjectives</a> (std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html#aa69ec2b8a4e968f30d7ac135af074012">numberOfObjectives</a>)</td></tr>
<tr class="memdesc:afcb3e45b19bba4130989d7ae37200900 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts the number of objectives if the function is scalable.  <br /></td></tr>
<tr class="separator:afcb3e45b19bba4130989d7ae37200900 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa9cc39ccb4d74a0d6db0ae2d087051 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_afaa9cc39ccb4d74a0d6db0ae2d087051"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#afaa9cc39ccb4d74a0d6db0ae2d087051">evaluationCounter</a> () const</td></tr>
<tr class="memdesc:afaa9cc39ccb4d74a0d6db0ae2d087051 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accesses the evaluation counter of the function.  <br /></td></tr>
<tr class="separator:afaa9cc39ccb4d74a0d6db0ae2d087051 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714edd6cc680adf04d5d12d7e845544f inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a714edd6cc680adf04d5d12d7e845544f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f">getConstraintHandler</a> () const</td></tr>
<tr class="memdesc:a714edd6cc680adf04d5d12d7e845544f inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the constraint handler of the function if it has one.  <br /></td></tr>
<tr class="separator:a714edd6cc680adf04d5d12d7e845544f inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a152c45a40169bf31cead2b9169a5367c inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a152c45a40169bf31cead2b9169a5367c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a152c45a40169bf31cead2b9169a5367c">isFeasible</a> (const <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &amp;input) const</td></tr>
<tr class="memdesc:a152c45a40169bf31cead2b9169a5367c inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled.  <br /></td></tr>
<tr class="separator:a152c45a40169bf31cead2b9169a5367c inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b3dfe1642e13693b5ab610f3fc5f79 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a68b3dfe1642e13693b5ab610f3fc5f79"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a68b3dfe1642e13693b5ab610f3fc5f79">closestFeasible</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &amp;input) const</td></tr>
<tr class="memdesc:a68b3dfe1642e13693b5ab610f3fc5f79 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">If supported, the supplied point is repaired such that it satisfies all of the function's constraints.  <br /></td></tr>
<tr class="separator:a68b3dfe1642e13693b5ab610f3fc5f79 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa79994e4b70d92fd30e62be20145ebd9 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_aa79994e4b70d92fd30e62be20145ebd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aa79994e4b70d92fd30e62be20145ebd9">operator()</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;input) const</td></tr>
<tr class="memdesc:aa79994e4b70d92fd30e62be20145ebd9 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the function. Useful together with STL-Algorithms like std::transform.  <br /></td></tr>
<tr class="separator:aa79994e4b70d92fd30e62be20145ebd9 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23274e2befc7530c8d63834e21a3fa78 inherit pub_methods_classshark_1_1_abstract_objective_function" id="r_a23274e2befc7530c8d63834e21a3fa78"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a23274e2befc7530c8d63834e21a3fa78">evalDerivative</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;input, <a class="el" href="structshark_1_1_abstract_objective_function_1_1_second_order_derivative.html">SecondOrderDerivative</a> &amp;derivative) const</td></tr>
<tr class="memdesc:a23274e2befc7530c8d63834e21a3fa78 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the objective function and calculates its gradient.  <br /></td></tr>
<tr class="separator:a23274e2befc7530c8d63834e21a3fa78 inherit pub_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_nameable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_nameable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_nameable.html">shark::INameable</a></td></tr>
<tr class="memitem:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable" id="r_a877dbdfc6b58ea836495143cea44a98c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a877dbdfc6b58ea836495143cea44a98c">~INameable</a> ()</td></tr>
<tr class="separator:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classshark_1_1_abstract_objective_function"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_abstract_objective_function')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a></td></tr>
<tr class="memitem:aadafeb6dfb5b649f321e7b81ac8aad1a inherit pub_types_classshark_1_1_abstract_objective_function" id="r_aadafeb6dfb5b649f321e7b81ac8aad1a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a> { <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86">HAS_VALUE</a> = 1
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971">HAS_FIRST_DERIVATIVE</a> = 2
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa2a3534a8bfd17ffc9f39a2892dc03858">HAS_SECOND_DERIVATIVE</a> = 4
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446">CAN_PROPOSE_STARTING_POINT</a> = 8
, <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0574c1ccb7c3791cc09bae4a7198429a">IS_CONSTRAINED_FEATURE</a> = 16
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa7decd0dc83d8de4fcec02d4e27251dd5">HAS_CONSTRAINT_HANDLER</a> = 32
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129">CAN_PROVIDE_CLOSEST_FEASIBLE</a> = 64
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa155aa01439b358ce00e8cfb9f377fb5f">IS_THREAD_SAFE</a> = 128
, <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa9022946d8a121d3e6c820f58d8cd3d87">IS_NOISY</a> = 256
<br />
 }</td></tr>
<tr class="memdesc:aadafeb6dfb5b649f321e7b81ac8aad1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of features that are supported by an implementation.  <a href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">More...</a><br /></td></tr>
<tr class="separator:aadafeb6dfb5b649f321e7b81ac8aad1a inherit pub_types_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59bfea031628e16737c66e7117eba7b5 inherit pub_types_classshark_1_1_abstract_objective_function" id="r_a59bfea031628e16737c66e7117eba7b5"><td class="memItemLeft" align="right" valign="top">typedef PointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a></td></tr>
<tr class="separator:a59bfea031628e16737c66e7117eba7b5 inherit pub_types_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f0672a3c3b24c437c81243624b5307 inherit pub_types_classshark_1_1_abstract_objective_function" id="r_a70f0672a3c3b24c437c81243624b5307"><td class="memItemLeft" align="right" valign="top">typedef ResultT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a></td></tr>
<tr class="separator:a70f0672a3c3b24c437c81243624b5307 inherit pub_types_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29804371954a360f09696adea7cfd839 inherit pub_types_classshark_1_1_abstract_objective_function" id="r_a29804371954a360f09696adea7cfd839"><td class="memItemLeft" align="right" valign="top">typedef boost::mpl::if_&lt; std::is_arithmetic&lt; ResultT &gt;, <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a>, RealMatrix &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a29804371954a360f09696adea7cfd839">FirstOrderDerivative</a></td></tr>
<tr class="separator:a29804371954a360f09696adea7cfd839 inherit pub_types_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a015ecb970cd0f5dac73e727fdcc0afec inherit pub_types_classshark_1_1_abstract_objective_function" id="r_a015ecb970cd0f5dac73e727fdcc0afec"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a></td></tr>
<tr class="memdesc:a015ecb970cd0f5dac73e727fdcc0afec inherit pub_types_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">This statement declares the member m_features. See <a class="el" href="_flags_8h.html">Core/Flags.h</a> for details.  <br /></td></tr>
<tr class="separator:a015ecb970cd0f5dac73e727fdcc0afec inherit pub_types_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e03b4eea2e069da19e0870fd205090 inherit pub_types_classshark_1_1_abstract_objective_function" id="r_a08e03b4eea2e069da19e0870fd205090"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a08e03b4eea2e069da19e0870fd205090">FeatureNotAvailableException</a></td></tr>
<tr class="separator:a08e03b4eea2e069da19e0870fd205090 inherit pub_types_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classshark_1_1_abstract_objective_function"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classshark_1_1_abstract_objective_function')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a></td></tr>
<tr class="memitem:a2b1a8af419059a542cb3d0848dd278a2 inherit pro_methods_classshark_1_1_abstract_objective_function" id="r_a2b1a8af419059a542cb3d0848dd278a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a2b1a8af419059a542cb3d0848dd278a2">announceConstraintHandler</a> (<a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const *handler)</td></tr>
<tr class="memdesc:a2b1a8af419059a542cb3d0848dd278a2 inherit pro_methods_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function which is called to announce the presence of an constraint handler.  <br /></td></tr>
<tr class="separator:a2b1a8af419059a542cb3d0848dd278a2 inherit pro_methods_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classshark_1_1_abstract_objective_function"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classshark_1_1_abstract_objective_function')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a></td></tr>
<tr class="memitem:ad8888c58fd3f98e73013afb5dd4b2af1 inherit pro_attribs_classshark_1_1_abstract_objective_function" id="r_ad8888c58fd3f98e73013afb5dd4b2af1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">m_features</a></td></tr>
<tr class="separator:ad8888c58fd3f98e73013afb5dd4b2af1 inherit pro_attribs_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0942c072be06d0dd4da5ee7067c5777 inherit pro_attribs_classshark_1_1_abstract_objective_function" id="r_af0942c072be06d0dd4da5ee7067c5777"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#af0942c072be06d0dd4da5ee7067c5777">m_evaluationCounter</a></td></tr>
<tr class="memdesc:af0942c072be06d0dd4da5ee7067c5777 inherit pro_attribs_classshark_1_1_abstract_objective_function"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluation counter, default value: 0.  <br /></td></tr>
<tr class="separator:af0942c072be06d0dd4da5ee7067c5777 inherit pro_attribs_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcb65bca56cbfead4a3956e81d0d97d8 inherit pro_attribs_classshark_1_1_abstract_objective_function" id="r_abcb65bca56cbfead4a3956e81d0d97d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#abcb65bca56cbfead4a3956e81d0d97d8">m_constraintHandler</a></td></tr>
<tr class="separator:abcb65bca56cbfead4a3956e81d0d97d8 inherit pro_attribs_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a27bddca6060f7861c49b05f8ec8435 inherit pro_attribs_classshark_1_1_abstract_objective_function" id="r_a6a27bddca6060f7861c49b05f8ec8435"><td class="memItemLeft" align="right" valign="top">random::rng_type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a6a27bddca6060f7861c49b05f8ec8435">mep_rng</a></td></tr>
<tr class="separator:a6a27bddca6060f7861c49b05f8ec8435 inherit pro_attribs_classshark_1_1_abstract_objective_function"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class ... Objectives&gt;<br />
class shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</div><p>Creates a multi-objective Benchmark from a set of given single objective functions. </p>
<p>A variadic template is used to generate a set of benchmarks. eg MultiObjectiveBenchmark&lt;Sphere,Ellispoid,Rosenbrock&gt; sets up a three-objective Benchmark.</p>
<p>A random rotation and translation is applied to each benchmark function, thus MultiObjectiveBenchmark&lt;Sphere,Sphere&gt; forms a non-degenerate front. the k-th objective can be queried via the get&lt;k&gt; member function.</p>
<p>The generated translations are approximately sampled from the unit ball and starting points are also drawn by the same distribution around a random optimum (assuming the optimum is at (0,0) of the untranslated function</p>
<p>Note that all objectives must have scalable dimensionality </p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00071">71</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a39645b08e34005008946482748022d64" name="a39645b08e34005008946482748022d64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39645b08e34005008946482748022d64">&#9670;&#160;</a></span>MultiObjectiveBenchmark()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::MultiObjectiveBenchmark </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numVariables</em> = <code>5</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00073">73</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROPOSE_STARTING_POINT</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_FIRST_DERIVATIVE</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>, <a class="el" href="classshark_1_1_typed_flags.html#a68f0c572adf112b680ef11531aa9ffb8">shark::TypedFlags&lt; Flag &gt;::reset()</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a77e1305d6328c831bf14df61c37cb648">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::setNumberOfVariables()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="abf89308463d5531a8e131c106abed7fe" name="abf89308463d5531a8e131c106abed7fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf89308463d5531a8e131c106abed7fe">&#9670;&#160;</a></span>eval()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a> <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the vector (f_1(x),...,f_N(x)) of the N objectives in the benchmark for the current point. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#a751c175270f6d6f0bcc1200f333c0045">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00149">149</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#af0942c072be06d0dd4da5ee7067c5777">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_evaluationCounter</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a6a4d8531d457d155aea8258cd2747e51">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::numberOfObjectives()</a>.</p>

</div>
</div>
<a id="a99fc595131c5c87ae6d73377c1b4368a" name="a99fc595131c5c87ae6d73377c1b4368a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99fc595131c5c87ae6d73377c1b4368a">&#9670;&#160;</a></span>evalDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a> <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::evalDerivative </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a29804371954a360f09696adea7cfd839">FirstOrderDerivative</a> &amp;&#160;</td>
          <td class="paramname"><em>derivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calculates function value as well as the the Jacobian( d/dxf_1(x),...,d/dx f_N(x)) of the N objectives in the benchmark for the current point. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#a53df2ac5d82c608ea938dc1e3a0c0617">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00159">159</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a6a4d8531d457d155aea8258cd2747e51">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::numberOfObjectives()</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::numberOfVariables()</a>.</p>

</div>
</div>
<a id="a12b46f3164e3445aff1cd12b62b2c2cf" name="a12b46f3164e3445aff1cd12b62b2c2cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12b46f3164e3445aff1cd12b62b2c2cf">&#9670;&#160;</a></span>get() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<div class="memtemplate">
template&lt;int N&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::tuple_element&lt; N, std::tuple&lt; Objectives... &gt; &gt;::type &amp; <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::get </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00114">114</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

</div>
</div>
<a id="a963fa52455728653a94fa582c9431ef8" name="a963fa52455728653a94fa582c9431ef8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a963fa52455728653a94fa582c9431ef8">&#9670;&#160;</a></span>get() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<div class="memtemplate">
template&lt;int N&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::tuple_element&lt; N, std::tuple&lt; Objectives... &gt; &gt;::type const  &amp; <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::get </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00118">118</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

</div>
</div>
<a id="a6189640d3576bf04b9dea6e734ae3f6b" name="a6189640d3576bf04b9dea6e734ae3f6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6189640d3576bf04b9dea6e734ae3f6b">&#9670;&#160;</a></span>hasScalableDimensionality()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::hasScalableDimensionality </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#a24751b2fc6f327053938dc92ff01384a">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00094">94</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

</div>
</div>
<a id="a542adb82f194ccc98c4f63b27fe2b5d1" name="a542adb82f194ccc98c4f63b27fe2b5d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a542adb82f194ccc98c4f63b27fe2b5d1">&#9670;&#160;</a></span>init()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::init </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>\ Initializes the functions as well as picks random rotations and translations </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#abe4776a85c4ce622c25f3290fa1395d1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00123">123</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">References <a class="el" href="namespaceshark_1_1random.html#a972c5f7f031612a130aa077fc9136a9f">shark::random::gauss()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a6a27bddca6060f7861c49b05f8ec8435">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::mep_rng</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::numberOfVariables()</a>.</p>

</div>
</div>
<a id="afefbd87f70a57cab4df4868102a71e74" name="afefbd87f70a57cab4df4868102a71e74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afefbd87f70a57cab4df4868102a71e74">&#9670;&#160;</a></span>name()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Name of the Benchmark. </p>
<p>The name has the form Objective1/Objective2/Objective3/.../ObjectiveN where ObjectiveK is the name of the k-th objective. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_nameable.html#a9893f99314de30cd472e649c235d0db4">shark::INameable</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00089">89</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

</div>
</div>
<a id="a6a4d8531d457d155aea8258cd2747e51" name="a6a4d8531d457d155aea8258cd2747e51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a4d8531d457d155aea8258cd2747e51">&#9670;&#160;</a></span>numberOfObjectives()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::numberOfObjectives </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#aa69ec2b8a4e968f30d7ac135af074012">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00105">105</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#abf89308463d5531a8e131c106abed7fe">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::eval()</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a99fc595131c5c87ae6d73377c1b4368a">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::evalDerivative()</a>.</p>

</div>
</div>
<a id="a4ac98eb92c0a0697790806a9c5acc359" name="a4ac98eb92c0a0697790806a9c5acc359"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ac98eb92c0a0697790806a9c5acc359">&#9670;&#160;</a></span>numberOfVariables()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::numberOfVariables </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accesses the number of variables. </p>

<p>Implements <a class="el" href="classshark_1_1_abstract_objective_function.html#a256f6b128af038dfaf9cef1bcd45a426">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00109">109</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a99fc595131c5c87ae6d73377c1b4368a">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a542adb82f194ccc98c4f63b27fe2b5d1">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::init()</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a85f5750d889d29fd9cffaa3406a8a166">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::proposeStartingPoint()</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a77e1305d6328c831bf14df61c37cb648">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::setNumberOfVariables()</a>.</p>

</div>
</div>
<a id="a85f5750d889d29fd9cffaa3406a8a166" name="a85f5750d889d29fd9cffaa3406a8a166"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85f5750d889d29fd9cffaa3406a8a166">&#9670;&#160;</a></span>proposeStartingPoint()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::proposeStartingPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Proposes a starting point in the feasible search space of the function. </p>
<dl class="section return"><dt>Returns</dt><dd>The generated starting point. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">FeatureNotAvailableException</td><td>in the default implementation and if a function does not support this feature. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#acd2922036a6388fde1173490079bb22b">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00138">138</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">References <a class="el" href="namespaceshark_1_1random.html#aa64d4174eaf7111b03e0504eaa56b666">shark::random::discrete()</a>, <a class="el" href="namespaceshark_1_1random.html#a972c5f7f031612a130aa077fc9136a9f">shark::random::gauss()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a6a27bddca6060f7861c49b05f8ec8435">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::mep_rng</a>, and <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::numberOfVariables()</a>.</p>

</div>
</div>
<a id="a77e1305d6328c831bf14df61c37cb648" name="a77e1305d6328c831bf14df61c37cb648"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77e1305d6328c831bf14df61c37cb648">&#9670;&#160;</a></span>setNumberOfVariables()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... Objectives&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html">shark::benchmarks::MultiObjectiveBenchmark</a>&lt; Objectives &gt;::setNumberOfVariables </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numberOfVariables</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adjusts the number of variables if the function is scalable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">numberOfVariables</td><td>The new dimension. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_objective_function.html#a4bdfc60abbe8548ba090bff096295b8f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_multi_objective_benchmark_8h_source.html#l00098">98</a> of file <a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::numberOfVariables()</a>, and <a class="el" href="_exception_8h.html#adce1f80097c69010f5eab2618fa2e971">SHARK_RUNTIME_CHECK</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a39645b08e34005008946482748022d64">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::MultiObjectiveBenchmark()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/ObjectiveFunctions/Benchmarks/<a class="el" href="_multi_objective_benchmark_8h_source.html">MultiObjectiveBenchmark.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
